home *** CD-ROM | disk | FTP | other *** search
/ Aminet 4 / Aminet 4 - November 1994.iso / aminet / dev / gcc / libnix.lha / gnu / libnix.specs.rexx < prev    next >
Encoding:
OS/2 REXX Batch file  |  1994-06-25  |  2.1 KB  |  114 lines

  1. /* A little ARexx-script that
  2.  * adds/tests for/removes noixemul in specsfile
  3.  *
  4.  */
  5.  
  6. PARSE ARG option filename .
  7.  
  8. IF LEFT(filename,1)=='"' & RIGHT(filename,1)=='"' THEN
  9.   filename=SUBSTR(filename,2,LENGTH(filename)-2)
  10.  
  11. noixemul=0
  12.  
  13. IF ~OPEN(fh,filename,"R") THEN
  14.   RETURN 5
  15.  
  16. DO lcnt=1 TO 1000
  17.   buf.lcnt=READLN(fh)
  18.  
  19.   IF POS("noixemul",buf.lcnt)~=0 THEN
  20.     noixemul=1
  21.  
  22.   IF EOF(fh) THEN
  23.     BREAK
  24. END
  25.  
  26. IF ~CLOSE(fh) THEN
  27.   RETURN 5
  28.  
  29. SELECT
  30.  
  31.   WHEN option=="-t" THEN /* Toggle */
  32.     IF noixemul THEN
  33.       option="-a"
  34.     ELSE
  35.       option="-r"
  36.  
  37.   WHEN option=="-a" THEN
  38.     IF noixemul THEN
  39.       RETURN 4
  40.  
  41.   WHEN option=="-r" THEN
  42.     IF ~noixemul THEN
  43.       RETURN 4
  44.  
  45.   WHEN option=="-c" THEN
  46.     RETURN noixemul
  47.  
  48. END
  49.  
  50. SELECT
  51.  
  52.   WHEN option=="-a" THEN
  53.   DO
  54.     cline=""
  55.  
  56.     DO i=1 TO lcnt-1
  57.  
  58.       IF cline~=="" THEN
  59.         IF buf.i=="" THEN
  60.           buf.i="%{noixemul:"cline"}"
  61.         ELSE
  62.           buf.i="%{!noixemul:"buf.i"}%{noixemul:"cline"}"
  63.  
  64.       SELECT
  65.  
  66.         WHEN buf.i=="*endfile:" THEN
  67.           cline="-lstubs"
  68.  
  69.         WHEN buf.i=="*link:" THEN
  70.           cline="%{g:-amiga-debug-hunk} "||,
  71.                 "%{resident:-databss-together -datadata-reloc -f libnix/libb }"||,
  72.                 "%{!resident:"||,
  73.                   "%{fbaserel:-databss-together -f libnix/libb }"||,
  74.                   "%{!fbaserel:-f libnix}}"
  75.  
  76.         WHEN buf.i=="*lib:" THEN
  77.           cline="-lnixmain -lnix -lamiga"
  78.  
  79.         WHEN buf.i=="*startfile:" THEN
  80.           cline="%{resident:/gcc/lib/libnix/nrcrt0.o%s}"||,
  81.                 "%{!resident:"||,
  82.                   "%{fbaserel:/gcc/lib/libnix/nbcrt0.o%s}"||,
  83.                   "%{!fbaserel:/gcc/lib/libnix/ncrt0.o%s}}"
  84.         OTHERWISE
  85.           cline=""
  86.       END
  87.     END
  88.   END
  89.  
  90.   WHEN option=="-r" THEN
  91.   DO i=1 TO lcnt-1
  92.     IF POS("%{noixemul:",buf.i)~=0 THEN
  93.       buf.i=LEFT(buf.i,POS("%{noixemul:",buf.i)-1)
  94.  
  95.     IF LEFT(buf.i,12)=="%{!noixemul:" THEN
  96.       buf.i=SUBSTR(buf.i,13,LENGTH(buf.i)-13)
  97.   END
  98.  
  99. END
  100.  
  101. IF ~OPEN(fh,filename,"W") THEN
  102.   RETURN 5
  103.  
  104. DO i=1 TO lcnt-1
  105.  
  106.   CALL WRITELN(fh,buf.i)
  107.  
  108. END
  109.  
  110. IF ~CLOSE(fh) THEN
  111.   RETURN 5
  112.  
  113. RETURN 0
  114.